package com.example.demo.util;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.demo.domain.vo.front.PageWrapper;

import java.util.List;
import java.util.function.Function;

public class PageWrapperUtil {

    public static <T,R> PageWrapper<R> build(IPage<T> iPage, Function<List<T>,List<R>> function) {
        PageWrapper<R> pageWrapper = new PageWrapper<>();
        pageWrapper.setCurrent(iPage.getCurrent());
        pageWrapper.setSize(iPage.getSize());
        pageWrapper.setData(function.apply(iPage.getRecords()));
        return pageWrapper;
    }

    public static <T> PageWrapper<T> build(IPage<T> iPage) {
        PageWrapper<T> pageWrapper = new PageWrapper<>();
        pageWrapper.setCurrent(iPage.getCurrent());
        pageWrapper.setSize(iPage.getSize());
        pageWrapper.setData(iPage.getRecords());
        return pageWrapper;
    }
}
